GTA V Spotify Radio Mod

About:

This will add a new radio to the radio wheel that will control any Spotify playback currently playing.

Showcase Video:https://www.youtube.com/watch?v=6DNEsgMy9Uk&t=61s
Installation Video: https://www.youtube.com/watch?v=rOwqWP4oryc

Requirements(Must have these downloaded and installed first):

	1. Scripthook V and Community Script Hook V
	https://www.gta5-mods.com/tools/script-hook-v
	https://www.gta5-mods.com/tools/scripthookv-net
	
	2. NativeUI
	https://gtaforums.com/topic/809284-net-nativeui/
	
	3. Community HUD.gfx by WildBrick142
	https://www.gta5-mods.com/tools/community-hud-gfx-for-add-on-radio-stations
		
	4. Microsoft Visual C++ 2015 Redistributable [IF NOT INSTALLED ALREADY]
	https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloads
	The download is located under "Visual Studio 2015, 2017 and 2019"
	Download the x64 version

Additional Note:
	This should work with free Spotify, but Spotify Premium may be required for some features to work correctly.

Credits:
	Thank you to WildBrick142(https://www.gta5-mods.com/users/WildBrick142) for creating the Community HUD.gfx mod because this would not be possible without WildBrick's mod and contributions
	Thank you to Dexyfex(https://www.gta5-mods.com/users/dexyfex) for CodeWalker and the CoderWalker community. CodeWalker's discord is an amazing resource and where I was able to learn how to 
	make this mod.
	Thank you to Carl Johnson(https://www.gta5-mods.com/users/YHWHDios) for the Chatterbox FM mod(https://www.gta5-mods.com/misc/chatterbox-fm-radio-station-add-on). I did not know addon radios were
	possible until this mod, I had the spotify up and working but did not an addon radio was possible.
	These 3 individuals may not even know it, but reading their posts and their discussions helped greatly and this mod wouldn't be possible with that them. Shoutout to them!!!
	Also big thanks to Spotify for their API and JohnnyCrazy for the C# client(https://johnnycrazy.github.io/SpotifyAPI-NET/)


How To Use:

Make sure to have Spotify open somewhere, it could be the desktop application, the web application, your phone, an alexa, idk, as long
as it is Spotify and its running on the device you want to hear it from.
The Spotify web player can be found here: https://open.spotify.com/

When you have installed the mod correctly, you will sign in with Spotify, and then all you have to do is get in a car and switch to the newly added Spotify Radio
Press F10 in game for additional control over your music like setting your Radio's Playlist and changing volume.


How To Install (Make sure to have installed the requirements first):

	1. Use OpenIV to edit the file:  "mods\update\update.rpf\common\data\dlclist.xml"
	2. Add this to the dlclist.xml:
					<item>dlcpacks:/spotifyradio/</item>

	3. Use OpenIV to place the "hud.gfx" file in "mods\update.rpf\x64\patch\data\cdimages\scaleform_generic.rpf"
	4. Use OpenIV in Edit mode to open 
	"mods\update.rpf\x64\patch\data\cdimages\scaleform_generic.rpf\hud.ytd"
	5. Select "gtav_radio_stations_textures05_512" in the texture editor
	6. Press "Replace" and select "gtav_radio_stations_textures05_512" from this mod's files
	7. Close and Save
	8. Close OpenIV
	9. In this mod's files open the folder "Place in GTA Root"
	10. Select all the folders and drag that to the root directory of GTA
	Default location is "C:\Program Files (x86)\Steam\steamapps\common\Grand Theft Auto V"

How To Set a Default Playlist:
		
		1. Open your favorite browser and go to https://open.spotify.com/
		2. Find the playlist you would like to use, and press it
		3. The url should look something like this "https://open.spotify.com/playlist/37i9dQZF1DX0XUsuxWHRQd"
		4. Copy the id that comes after the "playlist/"
		5. So with the example url, it will be "37i9dQZF1DX0XUsuxWHRQd"
		6. Open GTASpotify.ini and next to "DefaultPlaylst=", paste it in
		7. So for example it should look like this without quotes: "DefaultPlaylist=37i9dQZF1DX0XUsuxWHRQd"

You can also set the default volume and the key to open up the menu using the ini file.